YES 0.444
↳ HASKELL
↳ LR
((liftM3 :: (d -> c -> b -> a) -> IO d -> IO c -> IO b -> IO a) :: (d -> c -> b -> a) -> IO d -> IO c -> IO b -> IO a) |
import qualified Maybe import qualified Prelude |
|||||
liftM3 :: Monad b => (a -> e -> d -> c) -> b a -> b e -> b d -> b c
|
import qualified Monad import qualified Prelude |
\x3→return (f x1 x2 x3)
liftM30 f x1 x2 x3 = return (f x1 x2 x3)
\x2→m3 >>= liftM30 f x1 x2
liftM31 m3 f x1 x2 = m3 >>= liftM30 f x1 x2
\x1→m2 >>= liftM31 m3 f x1
liftM32 m2 m3 f x1 = m2 >>= liftM31 m3 f x1
↳ HASKELL
↳ LR
↳ HASKELL
↳ BR
((liftM3 :: (c -> d -> b -> a) -> IO c -> IO d -> IO b -> IO a) :: (c -> d -> b -> a) -> IO c -> IO d -> IO b -> IO a) |
import qualified Monad import qualified Prelude |
import qualified Maybe import qualified Prelude |
|||||
liftM3 :: Monad d => (c -> a -> b -> e) -> d c -> d a -> d b -> d e
|
|||||
|
|||||
|
|||||
|
↳ HASKELL
↳ LR
↳ HASKELL
↳ BR
↳ HASKELL
↳ COR
((liftM3 :: (d -> c -> a -> b) -> IO d -> IO c -> IO a -> IO b) :: (d -> c -> a -> b) -> IO d -> IO c -> IO a -> IO b) |
import qualified Maybe import qualified Prelude |
|||||
liftM3 :: Monad b => (d -> c -> a -> e) -> b d -> b c -> b a -> b e
|
|||||
|
|||||
|
|||||
|
import qualified Monad import qualified Prelude |
undefined
| False
= undefined
undefined = undefined1
undefined0 True = undefined
undefined1 = undefined0 False
↳ HASKELL
↳ LR
↳ HASKELL
↳ BR
↳ HASKELL
↳ COR
↳ HASKELL
↳ Narrow
(liftM3 :: (c -> b -> a -> d) -> IO c -> IO b -> IO a -> IO d) |
import qualified Monad import qualified Prelude |
import qualified Maybe import qualified Prelude |
|||||
liftM3 :: Monad b => (c -> a -> d -> e) -> b c -> b a -> b d -> b e
|
|||||
|
|||||
|
|||||
|